import request from '@/utils/request'

/**
 * 获取员工简单列表
 */
export const getEmployeesSimpleList = () => {
  return request({
    url: '/sys/user/simple',
    method: 'GET'
  })
}

/**
 * 获取员工列表
 * @param {*} params {}
 */
export function getEmployeesList(params) {
  return request({
    url: '/sys/user',
    method: 'GET',
    params
  })
}

/**
 * 新增员工
 * @param {*} data {}
 */
export function addEmployees(data) {
  return request({
    url: '/sys/user',
    method: 'POST',
    data
  })
}

/**
 * 删除员工接口
 * ****/

export function delEmployee(id) {
  return request({
    url: `/sys/user/${id}`,
    method: 'delete'
  })
}

/**
 * 批量导入员工
 * @param {*} data []
 */
export function importEmployees(data) {
  return request({
    url: '/sys/user/batch',
    method: 'POST',
    data
  })
}

/**
 * 根据id获取员工信息
 * @param {*} id 员工id
 */
export function getEmployeesInfo(id) {
  return request({
    url: '/sys/user/' + id,
    method: 'GET'
  })
}

/**
 * 更新员工账号信息
 * @param {*} data 员工信息对象
 */
export function UpdateEmployeesInfo(data) {
  return request({
    url: '/sys/user/' + data.id,
    method: 'PUT',
    data
  })
}

/**
 * 获取员工详细信息
 * @param {*} id 员工id
 */
export function getEmployeesDetail(id) {
  return request({
    url: '/employees/' + id + '/personalInfo',
    method: 'GET'
  })
}

/**
 * 更新员工详细数据
 * @param {*} data {}
 */
export function updateEmployeesDetail(data) {
  return request({
    url: '/employees/' + data.id + '/personalInfo',
    method: 'PUT',
    data
  })
}

/**
 * 获取员工的岗位信息
 * @param {*} id 员工id
 */
export function getEmployeesJobInfo(id) {
  return request({
    url: '/employees/' + id + '/jobs',
    method: 'GET'
  })
}

/**
 * 更新员工岗位信息
 * @param {*} data 更新员工岗位信息对象
 */
export function updateEmployeesJobInfo(data) {
  return request({
    url: '/employees/' + data.id + '/jobs',
    method: 'PUT',
    data
  })
}

/**
 * 给员工分配角色
 * @param {*} data 对象: 包含id(员工id) roleIds(角色id集合)
 */
export function updateEmployeesRoles(data) {
  return request({
    url: '/sys/user/assignRoles',
    method: 'PUT',
    data
  })
}
